package com.cloudkinto.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cloudkinto.bo.order.allocate.AllocatePlanProductQueryBo;
import com.cloudkinto.dto.platform.product.PlatformProductDto;
import com.cloudkinto.dto.platform.product.PlatformProductExportVo;
import com.cloudkinto.dto.platform.product.ProductSysDto;
import com.cloudkinto.dto.product.PlatformBatchInsertReq;
import com.cloudkinto.entity.PlatformProductDo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cloudkinto.vo.order.allocate.AllocateProductListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 * @author hua
 * @since 2025-01-02
 */
public interface PlatformProductDao extends BaseMapper<PlatformProductDo> {
    int updateDelete(List<Long> ids, Long userId);

    IPage<PlatformProductDto> getList(@Param("page") IPage<PlatformProductDto> page, @Param("map")Map<String, Object> map);
    List<PlatformProductDto> getList(@Param("map")Map<String, Object> map);

    List<PlatformProductExportVo> getExportList(@Param("map")Map<String, Object> map);


    List<ProductSysDto> getSysProduct(List<String> platformSkus, Long storeId);

    void batchInsert(List<PlatformProductDo> productDoList);

    List<AllocateProductListVo> getAllocatePlanProductListPage(@Param("bo") AllocatePlanProductQueryBo bo);
}
